
object Versions {

    const val minSdkVersion = 19
    const val targetSdkVersion = 29
    const val compileSdkVersion = 29
    const val buildToolsVersion = "29.0.3"

    const val versionCode = 1
    const val versionName = "1.0.0"


    //test
    const val junit = "4.12"
    const val androidx_junit = "1.1.2"
    const val androidx_espresso_core = "3.3.0"

    //kotlin
    const val kotlin_version = "1.3.72"
    const val kotlin_coroutines = "1.3.7"

    //androidx
    const val appcompat = "1.2.0"
    const val androidx_core = "1.3.1"

    const val legacy_support_v4 = "1.0.0"

    //jetpack
    const val lifecycle_extensions = "2.2.0"
    const val work_runtime = "2.4.0"
    const val room = "2.2.5"
    const val hilt = "2.28-alpha"
    const val startup = "1.0.0-alpha03"

    //ktx
    const val androidx_core_ktx = "1.3.1"
    const val lifecycle_livedata_ktx = "2.2.0"
    const val lifecycle_runtime_ktx = "2.2.0"
    const val fragment_ktx = "1.2.5"
    const val collection_ktx = "1.1.0"
    const val navigation_runtime_ktx =  "2.3.0"
    const val navigation_fragment_ktx = "2.3.0"
    const val navigation_ui_ktx = "2.3.0"
    const val lifecycle_reactivestreams_ktx =  "2.2.0"
    const val room_ktx = "2.2.5"
    const val lifecycle_viewmodel_ktx = "2.2.0"
    const val work_runtime_ktx = "2.4.0"
    const val palette_ktx =  "1.0.0"


    //UI
    const val constraintlayout = "2.0.1"
    const val recyclerview = "1.1.0"
    const val material = "1.2.0"

    const val multidex = "2.0.1"


    //第三方库
    const val glide = "4.9.0"

    const val rxandroid= "2.1.1"
    const val rxjava = "2.2.7"

    const val arouter_api = "1.5.0"
    const val arouter_compier = "1.2.2"


    const val retrofit = "2.8.1"
    const val retrofit_converter_gson = "2.8.1"
    const val retrofit_adapter_rxjava2 = "2.8.1"

    const val okhttp = "4.4.0"
    const val okhttp_logging_interceptor = "4.4.0"
    
    const val logger = "2.2.0"
    const val timber = "4.7.1"
}

object Deps {

    const val junit = "junit:junit:${Versions.junit}"
    const val androidx_junit = "androidx.test.ext:junit:${Versions.androidx_junit}"
    const val androidx_espresso_core = "androidx.test.espresso:espresso-core:${Versions.androidx_espresso_core}"


    const val kotlin_stdlib = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${Versions.kotlin_version}"
    const val kotlinx_coroutines_core  = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.kotlin_coroutines}"
    const val kotlinx_coroutines_android =  "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.kotlin_coroutines}"

    const val appCompat =  "androidx.appcompat:appcompat:${Versions.appcompat}"
    const val androidx_core = "androidx.core:core-ktx:${Versions.androidx_core}"
    const val lifecycle_extension = "androidx.lifecycle:lifecycle-extensions:${Versions.lifecycle_extensions}"
    const val work = "androidx.work:work-runtime:${Versions.work_runtime}"
    const val room = "androidx.room:room-runtime:${Versions.room}"
    const val room_compiler = "androidx.room:room-compiler:${Versions.room}"
    const val hilt_android = "com.google.dagger:hilt-android:${Versions.hilt}"
    const val hilt_android_compiler = "com.google.dagger:hilt-android-compiler:${Versions.hilt}"
    const val startup = "androidx.startup:startup-runtime:${Versions.startup}"
    const val legacy_support_v4 = "androidx.legacy:legacy-support-v4:${Versions.legacy_support_v4}"

    const val androidx_core_ktx = "androidx.core:core-ktx:${Versions.androidx_core_ktx}"
    const val lifecycle_livedata_ktx = "androidx.lifecycle:lifecycle-livedata-ktx:${Versions.lifecycle_livedata_ktx}"
    const val lifecycle_runtime_ktx = "androidx.lifecycle:lifecycle-runtime-ktx:${Versions.lifecycle_livedata_ktx}"
    const val fragment_ktx = "androidx.fragment:fragment-ktx:${Versions.fragment_ktx}"
    const val collection_ktx = "androidx.collection:collection-ktx:${Versions.collection_ktx}"
    const val navigation_runtime_ktx =  "androidx.navigation:navigation-runtime-ktx:${Versions.navigation_runtime_ktx}"
    const val navigation_fragment_ktx = "androidx.navigation:navigation-fragment-ktx:${Versions.navigation_fragment_ktx}"
    const val navigation_ui_ktx = "androidx.navigation:navigation-ui-ktx:${Versions.navigation_ui_ktx}"
    const val lifecycle_reactivestreams_ktx =  "androidx.lifecycle:lifecycle-reactivestreams-ktx:${Versions.lifecycle_reactivestreams_ktx}"
    const val room_ktx = "androidx.room:room-ktx:${Versions.room_ktx}"
    const val lifecycle_viewmodel_ktx = "androidx.lifecycle:lifecycle-viewmodel-ktx:${Versions.lifecycle_viewmodel_ktx}"
    const val work_runtime_ktx = "androidx.work:work-runtime-ktx:${Versions.work_runtime_ktx}"
    const val palette_ktx =  "androidx.palette:palette-ktx:${Versions.palette_ktx}"



    const val multidex = "androidx.multidex:multidex:${Versions.multidex}"

    const val constraintlayout = "androidx.constraintlayout:constraintlayout:${Versions.constraintlayout}"
    const val recyclerview = "androidx.recyclerview:recyclerview:${Versions.recyclerview}"
    const val material = "com.google.android.material:material:${Versions.material}"

    const val arouter_api = "com.alibaba:arouter-api:${Versions.arouter_api}"
    const val arouter_compiler = "com.alibaba:arouter-compiler:${Versions.arouter_compier}"

    const val retrofit = "com.squareup.retrofit2:retrofit:${Versions.retrofit}"
    const val retrofit_converter_gson = "com.squareup.retrofit2:converter-gson:${Versions.retrofit_converter_gson}"
    const val retrofit_adapter_rxjava2 = "com.squareup.retrofit2:adapter-rxjava2:${Versions.retrofit_adapter_rxjava2}"
    const val okhttp = "com.squareup.okhttp3:okhttp:${Versions.okhttp}"
    const val okhttp_logging_interceptor = "com.squareup.okhttp3:logging-interceptor:${Versions.okhttp_logging_interceptor}"
    const val rxjava = "io.reactivex.rxjava2:rxjava:${Versions.rxjava}"
    const val rxandroid = "io.reactivex.rxjava2:rxandroid:${Versions.rxandroid}"
    const val glide = "com.github.bumptech.glide:glide:${Versions.glide}"
    const val logger = "com.orhanobut:logger:${Versions.logger}"
    const val timber = "com.jakewharton.timber:timber:${Versions.timber}"
}